package com.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;

/**
 * Tomcat管理系统的主应用程序类
 *
 * @author 不抓耗子的猫
 * @SpringBootApplication: Spring Boot的主配置类
 * @ComponentScan: 指定要扫描的包，包含控制器、服务和工具类
 * @EntityScan: 指定JPA实体类的位置
 * @EnableJpaRepositories: 启用JPA仓库，指定仓库接口的位置
 *
 * @author 1727414282
 * @date 2024/01/02
 * @version 1.0.0
 */
@SpringBootApplication
@ComponentScan(basePackages = {
        "com.example.controller",  // 控制器层：处理HTTP请求
        "com.example.service",     // 服务层：业务逻辑实现
        "com.example.utils"        // 工具类：通用功能
})
@EntityScan("com.example.entity")  // 实体类：数据库映射对象
/**
 *  数据访问层：JPA仓库接口
 */

@EnableJpaRepositories("com.example.repository")
public class TomcatManagerApplication {

    /**
     * 应用程序入口点
     * 启动Spring Boot应用，初始化Spring容器，
     * 加载所有组件并启动内嵌的Tomcat服务器
     */
    public static void main(String[] args) {
        SpringApplication.run(TomcatManagerApplication.class, args);
    }
}